package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.net.FileReference;
    import flash.text.TextField;
    import flash.utils.ByteArray;
    import flash.display.MovieClip;

    public class m1 extends MovieClip {
        private var _browse:TextField = new TextField();      
        private var _fileReference:FileReference = new FileReference();

        public function m1() {
            _browse.htmlText = "<u>click to browse files</u>";            
            _browse.addEventListener(MouseEvent.CLICK, clickHandler);
            addChild(_browse);            
            _fileReference.addEventListener(Event.SELECT, selectHandler);
            _fileReference.addEventListener(Event.CANCEL, cancelHandler);
            _fileReference.addEventListener(Event.COMPLETE, openHandler);
        }

        private function clickHandler(event:MouseEvent):void {
            _fileReference.browse();
        }

        private function selectHandler(event:Event):void {      
            trace("Selected File");
            trace("\nName: "+ _fileReference.name);
            trace("\nSize: "+ _fileReference.size);
            trace("\nCreated On: "+ _fileReference.creationDate);
            trace("\nModified On: "+ _fileReference.modificationDate);
            _fileReference.load();
        }

private function openHandler( event:Event ):void {
  var data:ByteArray = _fileReference.data as ByteArray;
 
  _browse.htmlText = "-" + data as String;
}

        private function cancelHandler(event:Event):void {
            trace("Canceled");
        }
    }
}

